<html>
<head><meta charset="utf-8"><title>So what to do next? · t-cargo/PubGrub · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/index.html">t-cargo/PubGrub</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html">So what to do next?</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="212775495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212775495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212775495">(Oct 09 2020 at 02:30)</a>:</h4>
<p>I am so excited to continue working on this! Thank you both for making this happen! I have all these ideas in my head and have no sense of what is the important next step. What do you think? What developments need to happen to work on the parts you are most excited about?</p>



<a name="212791656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212791656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212791656">(Oct 09 2020 at 07:37)</a>:</h4>
<p>I think the road that suits me most, would be to consolidate what we have, to publish a v0.2 and then do the org transition and a cargo-pubgrub-experiment repo to try things related to cargo. Or rather do the org transition just before publishing v0.2 such that it already points there.</p>
<p>By consolidate, I mean</p>
<ul>
<li>Complete the property test suit for big registries</li>
<li>Land some low hanging fruit performance optimizations</li>
<li>Improve code "quality" (with things like clippy)</li>
<li>Improve CI</li>
<li>
<p>Have a general review of Readme and API docs to make sure things are coherent (both public API and private modules)<br>
(- Write a user guide)</p>
</li>
<li>
<p>Announce it and have user try it for feedback</p>
</li>
</ul>
<p>It seems like mostly admin stuff but I think that's the important things to do to to have more feedback</p>



<a name="212795425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212795425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212795425">(Oct 09 2020 at 08:19)</a>:</h4>
<p>Do you think it's worth creating a separate repo for cargo related stuff rather than working in a branch?<br>
That probably follows from whether you would like those changes to be merged once they are ready or if you want to call current repo "feature complete" for your purposes, and for cargo's version to publish separately to <a href="http://crates.io">crates.io</a>.</p>



<a name="212812259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212812259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212812259">(Oct 09 2020 at 11:27)</a>:</h4>
<p>Yes, things that are specific to cargo should be explored in another repo, or in case things truly need to be modified in the base pubgrub algorithm that would not be beneficiary for it independently than cargo then in a fork or patched version of the base repo</p>



<a name="212820769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212820769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212820769">(Oct 09 2020 at 12:51)</a>:</h4>
<p>We could you make use of "features" and make those disables by default.</p>



<a name="212826636"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212826636" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212826636">(Oct 09 2020 at 13:40)</a>:</h4>
<p>Maybe? I don't know, I've never really used features myself. They seem more adequate for extensions than for modifications. Let's wait and see when we actually try to figure out specific cargo stuff. But if you want to try exploring some things cargo-related before consolidation of base pubgrub, please do so in a fork</p>



<a name="212831198"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212831198" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212831198">(Oct 09 2020 at 14:15)</a>:</h4>
<p>That all sounds like a really good medium term plan!</p>



<a name="212833634"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212833634" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212833634">(Oct 09 2020 at 14:34)</a>:</h4>
<p>I am wondering about next steps in the short term. Should I work towards my next PR being about:</p>
<ul>
<li>proptest's of registers</li>
<li>Non-algorithmic perf improvements (like I did in the benchmark PR)</li>
<li>Algorithmic perf improvements (like the the huristicks work)</li>
<li>Other code cleanups</li>
<li>Improve the API (like take an iterator in dependency provider)</li>
<li>Something else<br>
of course no promises it will come out the way I plan, but what should I plan?</li>
</ul>



<a name="212842561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212842561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212842561">(Oct 09 2020 at 15:44)</a>:</h4>
<p>I think algorithmic performance improvements should come before non-algorithmic ones, since they could possibly make those obsolete.<br>
API work is pretty high up there as well, since what users actually deal with should be as ergonomic as possible in my opinion.</p>
<p>I would rank those as follows in the order of decreasing importance:</p>
<ul>
<li>Improve the API</li>
<li>Algorithmic performance improvements</li>
<li>Non-algorithmic performance improvements</li>
<li>Everything else</li>
</ul>
<p>Of course if you see some low hanging fruits somewhere don't hold yourself back on picking those <span aria-label="wink" class="emoji emoji-1f609" role="img" title="wink">:wink:</span></p>



<a name="212842866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212842866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212842866">(Oct 09 2020 at 15:46)</a>:</h4>
<p>Very much agree with <span class="user-mention" data-user-id="120179">@Eh2406</span> propositions and <span class="user-mention" data-user-id="340766">@Alex Tokarev</span> ordering :)</p>



<a name="212842908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212842908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212842908">(Oct 09 2020 at 15:47)</a>:</h4>
<p>I myself want to do some infrastructure work next, namely setup Clippy pass on CI and fix the existing warnings.</p>



<a name="212842965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212842965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212842965">(Oct 09 2020 at 15:47)</a>:</h4>
<p>Where should the proptest port go on that list?</p>



<a name="212843034"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212843034" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212843034">(Oct 09 2020 at 15:48)</a>:</h4>
<p>Though I'd probably put proptest with algorithmic improvement hand to hand, cannot improve blindly</p>



<a name="212843152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212843152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212843152">(Oct 09 2020 at 15:49)</a>:</h4>
<p>True, that would be an instrument to achieve the goal (you could use many), so I didn't rank it separately</p>



<a name="212844941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212844941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212844941">(Oct 09 2020 at 16:00)</a>:</h4>
<p>Also I want to work on <a href="https://github.com/mpizenberg/pubgrub-rs/issues/17">clickable links</a> for documentation.<br>
I think we can run <code>cargo doc</code> on CI and check that no warnings are emitted. I recently noticed they are produced when references in the documentation break.</p>



<a name="212846965"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212846965" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212846965">(Oct 09 2020 at 16:18)</a>:</h4>
<p>Damn my SRE position must be getting hold of me <span aria-label="joy" class="emoji emoji-1f602" role="img" title="joy">:joy:</span></p>



<a name="212848542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212848542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212848542">(Oct 09 2020 at 16:33)</a>:</h4>
<p>I think we may need <code>--all-targets</code> or somthing to get CI errors about examples.</p>



<a name="212848835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212848835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212848835">(Oct 09 2020 at 16:37)</a>:</h4>
<p>Hm, that doesn't work with <code>cargo doc</code>. It does with <code>cargo build</code>, so will be useful for clippy setup.</p>



<a name="212871518"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212871518" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212871518">(Oct 09 2020 at 20:23)</a>:</h4>
<p>I added some notes I've taken to benchmark if I want to try some optimization later. The notes are here: <a href="https://github.com/mpizenberg/pubgrub-rs/issues/27">https://github.com/mpizenberg/pubgrub-rs/issues/27</a>. Don't hesitate to add your tips there <span class="user-mention" data-user-id="120179">@Eh2406</span></p>



<a name="212872226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212872226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212872226">(Oct 09 2020 at 20:30)</a>:</h4>
<p>The reports look like what I was seeing, most of our time in <code>relation</code>/<code>intersection</code>.</p>



<a name="212911342"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212911342" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212911342">(Oct 10 2020 at 11:16)</a>:</h4>
<p>Excellent writeup on benchmarking and profiling, provides me with a nice starting point as I haven't done it before.</p>



<a name="212911775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212911775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212911775">(Oct 10 2020 at 11:28)</a>:</h4>
<p>I won't answer for the weekend by the way. Having family here. Have a good weekend</p>



<a name="212911797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212911797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212911797">(Oct 10 2020 at 11:29)</a>:</h4>
<p>Enjoy your time with the family!</p>



<a name="212926324"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212926324" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212926324">(Oct 10 2020 at 17:30)</a>:</h4>
<p>One other todo item for ensuring correctness, I'd like to see us port over the tests from the Dart implementation.</p>



<a name="212929745"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212929745" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212929745">(Oct 10 2020 at 18:55)</a>:</h4>
<p>True, I promised to do that and it's on my virtual TODO list</p>



<a name="212933081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212933081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212933081">(Oct 10 2020 at 20:22)</a>:</h4>
<p>Would you like me to post an issue?</p>



<a name="212933149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/212933149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#212933149">(Oct 10 2020 at 20:24)</a>:</h4>
<p><a href="https://github.com/mpizenberg/pubgrub-rs/issues/30">https://github.com/mpizenberg/pubgrub-rs/issues/30</a></p>



<a name="213294783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213294783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213294783">(Oct 14 2020 at 14:18)</a>:</h4>
<p>I can try that but no time guarantees</p>



<a name="213294964"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213294964" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213294964">(Oct 14 2020 at 14:19)</a>:</h4>
<p>That would be great! And welcome to the project!</p>



<a name="213312762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213312762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213312762">(Oct 14 2020 at 16:05)</a>:</h4>
<p>welcome :)</p>



<a name="213542653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213542653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213542653">(Oct 16 2020 at 10:31)</a>:</h4>
<p>Let's make a quick recap of all the things that happened in this short period of time in prubgrub-rs. We have</p>
<ul>
<li>identified and fixed a bug in the prior cause computation of the algorithm,</li>
<li>improved the user-facing API by switching from a <code>Solver</code> trait to a <code>DependencyProvider</code> trait and by enabling a halting condition in the solver loop,</li>
<li>made the algorithm reproducible to better tackle future issues,</li>
<li>consistently improved the code documentation with text changes and links,</li>
<li>introduced property testing of registries to identify bugs sooner,</li>
<li>improved performance by at least one order of magnitude on large registries,</li>
<li>improved CI,</li>
</ul>
<p>and made lots of other small improvements.</p>



<a name="213542816"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213542816" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213542816">(Oct 16 2020 at 10:33)</a>:</h4>
<p>I think all this is worth releasing a v0.2 version of the crate, and start thinking about new short-term and medium-term goals.</p>
<p>Among those I personally see:</p>
<ul>
<li>Moving the repo out of my namespace, into an organization where you guys have more control, and me less responsibility.</li>
<li>Write a small guide, advertising the work being done and encouraging people to try it out.</li>
<li>Explore extensions to fit the cargo use case. I'd prefer exploration to be first totally independent, to clearly identify the limits of current pubgrub to bend it for this use case.</li>
<li>(For me) Integrate this in the test runner I'm writing for the elm language to see how easy the integration is, what are the API issues left.</li>
<li>Improve the error reporting, lots of work there in terms of API, message quality, and performance of report building.</li>
</ul>



<a name="213558887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213558887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213558887">(Oct 16 2020 at 13:22)</a>:</h4>
<p>Any chance that integrating with the test runner could lead to large realistic examples? Also if that project is the primary use case for the library I'd be ok including it in our CI. Basically I want to know if changes will break our primary user.</p>



<a name="213561895"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213561895" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213561895">(Oct 16 2020 at 13:46)</a>:</h4>
<p>What are your opinions on exploring extensions that are in the Dart implementation but not in the blog post? Like "features", "replacements", "pre-release", and "lockfiles"? Should they be explored in  or out of tree?</p>



<a name="213600610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213600610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Alex Tokarev <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213600610">(Oct 16 2020 at 18:58)</a>:</h4>
<p>Both are very good questions.</p>



<a name="213602294"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213602294" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213602294">(Oct 16 2020 at 19:13)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120179">Eh2406</span> <a href="#narrow/stream/260232-t-cargo.2FPubGrub/topic/So.20what.20to.20do.20next.3F/near/213561895">said</a>:</p>
<blockquote>
<p>What are your opinions on exploring extensions that are in the Dart implementation but not in the blog post? Like "features", "replacements", "pre-release", and "lockfiles"? Should they be explored in  or out of tree?</p>
</blockquote>
<p>I'm not very familiar with all the things cargo can do. Would you mind doing a write up of those that are not trivially supported by pubgrub as it is now, and maybe propose some ideas for each of those? That would be great to have such write up in an issue of the repo</p>



<a name="213602548"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213602548" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213602548">(Oct 16 2020 at 19:15)</a>:</h4>
<p>(I am working on porting over the sat-proptests then I will work on that.)</p>



<a name="213615308"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213615308" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213615308">(Oct 16 2020 at 21:16)</a>:</h4>
<p>cool</p>



<a name="213632331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213632331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eh2406 <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213632331">(Oct 17 2020 at 03:02)</a>:</h4>
<p>I posted that issue <a href="https://github.com/mpizenberg/pubgrub-rs/issues/39">pubgrub#39</a> for the ones where the next step is "look at the dart implementation." The other big ones I can think of are <code>one per major</code> instead one <code>one per name</code> witch I am totally ok not thinking about until after 0.2, and <code>Public&amp;Private</code> dependencies witch cargo doesn't even really support. So thos two can be worked on out of tree when we are ready to work on them.</p>



<a name="213673052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/260232-t-cargo/PubGrub/topic/So%20what%20to%20do%20next%3F/near/213673052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Matthieu Pizenberg <a href="https://rust-lang.github.io/zulip_archive/stream/260232-t-cargo/PubGrub/topic/So.20what.20to.20do.20next.3F.html#213673052">(Oct 17 2020 at 22:09)</a>:</h4>
<p>Tomorrow I'll have a look at <a href="https://github.com/mpizenberg/pubgrub-rs/issues/34">pubgrub#34</a> regarding usage of git LFS. Then my priority will be writing a guide for the coming days I think</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>